package proteus.negocio;

import java.sql.SQLException;
import java.util.Collection;


import proteus.dao.PersonaDAO;
import proteus.excepcion.DAOExcepcion;
import proteus.modelo.Dueno;
import proteus.modelo.Persona;


public class PersonaNegocio {
	
	
	public Persona validar_user(String User,String Pwd) throws DAOExcepcion{
		PersonaDAO dao=new PersonaDAO();		
		Persona pers =dao.validar_user(User, Pwd);
		return pers;
	}
	
	public void insertarPersona(Persona per) throws DAOExcepcion {
		PersonaDAO dao=new PersonaDAO();		
		
		try
		{
			if(per.getTxCorreo().length()==0){
				throw new SQLException("El email es un campo obligatorio");	
			}
			if(per.getNoPersona().length()==0){
				throw new SQLException("El Nombre es un campo obligatorio");	
			}
			
			if(per.getApPaterno().length()==0){
				throw new SQLException("El Apellido Paterno es un campo obligatorio");	
			}
			
			if(per.getApMaterno().length()==0){
				throw new SQLException("El Apellido Materno es un campo obligatorio");	
			}
			if(per.getFlSexo().length()==0){
				throw new SQLException("El Sexo de la persona es un campo obligatorio");	
			}
			if(per.getCoTipoDocumento().length()==0){
				throw new SQLException("El codigo del tipo de documento es un campo obligatorio");	
			}
			if(per.getNuDocumento().length()==0){
				throw new SQLException("El numero del documento es un campo obligatorio");	
			}
			if(per.getTxClave().length()==0){
				throw new SQLException("La clave es un campo obligatorio");	
			}
			if(per.getNuCelular().length()==0){
				throw new SQLException("El nro de celular es un campo obligatorio");	
			}	
				
			
			//VALIDAR CORREO
			if(dao.validar_correo(per.getTxCorreo())>0) {
				throw new SQLException("El correo electronico " + per.getTxCorreo() + " ya existe");
			}
			
			//VALIDAR NRO DE DOCUMENTO
			if(dao.validar_NroDoc(per.getNuDocumento())>0) {
				throw new SQLException("El Nro de Documento " + per.getNuDocumento() + " ya existe");
			}
			
			
			
			
		  dao.insertar(per);
		}
		catch(SQLException e)
		{
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		}
	}
	
	public Collection<Persona> ListarPersona() throws DAOExcepcion {
		PersonaDAO obj=new PersonaDAO();
		return obj.ListarPersonas();
	}


}